﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

#nullable disable

namespace T4.Console.Db.Models
{
    [Table("Sys_ModuleButton")]
    [Index(nameof(ModuleId), nameof(ButtonId), Name = "AK_KEY_2_Sys_ModuleButton", IsUnique = true)]
    public partial class Sys_ModuleButton
    {
        [Key]
        [StringLength(36)]
        public string Id { get; set; }
        [Required]
        [StringLength(36)]
        public string ModuleId { get; set; }
        [Required]
        [StringLength(36)]
        public string ButtonId { get; set; }
        [StringLength(36)]
        public string CreatedBy { get; set; }
        [Column(TypeName = "datetime")]
        public DateTime? CreatedTime { get; set; }
        [StringLength(36)]
        public string LastModifiedBy { get; set; }
        [Column(TypeName = "datetime")]
        public DateTime? LastModifiedTime { get; set; }

        [ForeignKey(nameof(ButtonId))]
        [InverseProperty(nameof(Sys_Button.Sys_ModuleButtons))]
        public virtual Sys_Button Button { get; set; }
        [ForeignKey(nameof(ModuleId))]
        [InverseProperty(nameof(Sys_Module.Sys_ModuleButtons))]
        public virtual Sys_Module Module { get; set; }
    }
}
